package com.fanyouzhao.ehome.service.impl;

import com.fanyouzhao.ehome.dao.AdminDao;
import com.fanyouzhao.ehome.dao.impl.AdminDaoImpl;
import com.fanyouzhao.ehome.entity.Admin;
import com.fanyouzhao.ehome.service.AdminService;
import com.fanyouzhao.ehome.util.MD5Util;

/**
 * @author fanyouzhao
 * @date 2021年3月31日 下午6:16:47
 */
public class AdminServiceImpl implements AdminService {

	AdminDao adminDao = new AdminDaoImpl();

	@Override
	public Admin login(String phone, String password) throws Exception {
		Admin selectAdmin = adminDao.selectByPhone(phone);
		String finalPwd = MD5Util.encode(MD5Util.encode(password) + selectAdmin.getSalt());
		// 用户名存在且密码正确(此处需要进行MD5加密加盐处理后再和数据库里面的密码进行比较)
		if (selectAdmin!=null){
			if (selectAdmin.getPwd().equals(finalPwd)){
				return selectAdmin;
			} else {
//				throw new BusinessException("用户名或密码不正确");
				return null;
			}
		}else{
//			throw new BusinessException("用户不存在");
			return null;
		}
	}

	@Override
	public Boolean update(Integer id,Admin admin) throws Exception {
		Admin selectAdmin = adminDao.selectById(id);
		//判断是否存在该id的用户
		if (selectAdmin!=null) {
			//判断用户在前端输入的密码是否为空，如果不为空才修改密码，否则不修改
			if (!admin.getPwd().equals("")){
				selectAdmin.setPwd(MD5Util.encode(admin.getPwd()));
			}
			selectAdmin.setName(admin.getName());
			adminDao.update(id,selectAdmin);
			return true;
		} else {
			return false;
		}
	}

	@Override
	public Boolean updatePassword(Admin admin) throws Exception {
		return null;
	}

}
